The disclosure relates generally to a method and apparatus for accommodating display migration, and more particularly, to a method and apparatus for accommodating display migration among a plurality of physical displays.
Computer systems such as desktop computers and laptop computers are known for having one or multiple graphic processors (e.g., GPU, graphic processing unit) that can drive multiple physical displays. Oftentimes, in certain situations, it would be desired to preserve the display content of all applications running on the computer system and to consolidate the display content presented on some or all of the physical displays onto one single or multiple physical displays. For example, some of the physical displays may be disconnected when the power source of the computer system changes from an AC power source to a DC power source resulting in a reduction of power supply driving the physical displays. In another example, some or all of the physical displays driven by one graphic processor may be disconnected when the computer system switches to another graphic processor that supports fewer physical displays.
In responding to these situations, known computer systems lose the desktop surfaces associated with the disconnected physical displays and thus, cannot preserve all the display content previously presented on the disconnected physical displays. The desktop surface is the content in a piece of memory in a frame buffer, which represents all the display content presented on the associated physical display. For example, some computer systems disregard the loss of the desktop surfaces associated with the disconnected physical displays, thereby losing all the display content on the disconnected physical displays.
In other computer systems, the desktop surfaces associated with the disconnected physical displays are lost due to the disconnection of the physical displays, and the windows manager and/or the operating system, for example, recognizes the disconnection of the physical displays and rearranges the applications previously shown on the disconnected physical displays to be directly displayed on the remaining (connected) physical display(s). In one example of this case, the applications previously shown on disconnected physical displays are now presented as multiple two-dimensional windows on top of the existing display content of the remaining physical display(s). In order to fit into the display area of the remaining physical display(s), the display content of the disconnected physical displays, for example, may be rearranged by the windows manager and/or the operating system to be presented in distorted windows (e.g., the exact same layout of the display content of a particular application on the disconnected physical display is not kept on the new screen) or reduced windows, or may be displayed on windows that are overlapped between each other (e.g., stacked windows). Alternatively, all of the applications and other content displayed on the now-disconnected physical displays may simply be transferred to the remaining physical display(s) resulting in much less order, more clutter and overlapping windows and/or icons. In particular, some applications may crash due to the rearrangement, and certain display content, e.g., the desktop background of the desktop surfaces associated with the disconnected physical displays, may not be shown on the remaining physical display(s). In other words, the original display content of the disconnected physical displays cannot be fully and exactly preserved on the remaining physical display(s) in these computer systems due to the loss of the desktop surfaces that are associated with the disconnected physical displays.
Compositing windows managers such as, but not limited to, Compiz, Desktop Window Manger, Quartz Compositor, Metacity, and KWin, are known in the art as a component of a computer system's graphical user interface (GUI) that controls how the windows display and interact with each other, and with the rest of the desktop environment. Instead of outputting all the display content of the application to a common screen, a compositing windows manager typically outputs each application's display content first to a separate and independent buffer, or other temporary location inside the computer's memory, where they can be manipulated before they are shown. The compositing window manager then processes and combines, or composites, output from these separate buffers onto a common desktop. The result is that the display content now behaves as independent objects. However, the windows or the display content handled by the compositing windows manager are different virtual desktops of the same physical display, as opposed to different desktop surfaces associated with different physical displays. Consequently, the display content previously shown on the disconnected physical displays cannot migrate to the remaining physical display(s) by operation of the compositing windows manager.
Accordingly, there exists a need for improved method and apparatus for accommodating display migration among a plurality of physical displays in order to address one or more of the above-noted drawbacks.